Along with the proliferation of mobile devices and Cloud services, the desire of access anytime, anywhere, and on any device, and rapid rise of malware and cyber attacks, the need for provisioning cryptographic keys to the devices becomes necessary and critical. Existing services provision keys from a key management server to devices. This leaves those services vulnerable to the server being compromised. However there is currently no service that provisions keys from one device to another as soon as the two devices cannot talk directly to each other.
Consequently, many situations cannot currently be addressed by the known systems. Among these situations, one person that usually authenticates to her company's network using her laptop with her smart card cannot do the same from her smartphone or another device. The IT would need to provision her smartphone using her corporate credentials in her badge.
Situations where people want to share files, between people or between devices, are also not addressed easily. For example, the file of a first person is stored in a shared directory after encryption using keys stored in the UICC in the first person's tablet. The encryption key for the shared file needs to be transferred from the first person's UICC to the second person's secure element (SE), so that this second person can decrypt the file too.
Situations relative to Internet of Things (IoT) are also encountered, for example, when somebody having a smart meter at home wants to control it from his phone. The smart meter configurations, readings and actuators are protected using cryptographic keys. The utility company that manages the meters needs to transfer these keys to the home owner's phone and needs to be able to update the keys periodically.
Secure Cloud access is also concerned by the invention as Public Cloud Providers offer APIs to their customer to control access to their resources (Storage, Compute power, Network). In fact, these APIs are the main way to access Cloud Resources. APIs are protected, when secured, with API keys or other cryptographic keys. The protection of these keys is critical for the security of the end customers' resources. The Public Cloud Provider needs a secure way to transfer the API keys from his infrastructure Hardware Security Module (HSM) to the end customers' devices.